package thread;
/**
 * 守护线程
 * 守护线程是通过普通线程调用setDaemon方法设置而来的。因此创建和使用其实与普通
 * 线程无异。但是结束时机上有一点不同，即进程的结束.
 * 
 * 进程结束:当进程中的所有普通线程都结束时，进程就会结束，此时所有正在运行的守护
 * 线程都会被强制中断。
 * 
 * @author 范传奇
 *
 */
public class DaemonThreadDemo {
	public static void main(String[] args) {
		Thread rose = new Thread() {
			public void run() {
				for(int i=0;i<5;i++) {
					System.out.println("rose:let me go!");
					try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
					}
				}
				System.out.println("rose:啊啊啊啊啊AAAAAaaaa....");
				System.out.println("噗通!");
			}
		};
		
		Thread jack = new Thread() {
			public void run() {
				while(true) {
					System.out.println("jack:you jump!i jump!");
					try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
					}
				}
			}
		};
		rose.start();
		//设置守护线程必须在该线程启动前进行!
		jack.setDaemon(true);
		jack.start();
		
		
	}
}









